Wiki
New
List all pages
Page name
Content
# Tiltaksliste Vurder de enkeltvise punktene etter behov og nødvendighet: - Sett opp egen bruker utenom root som får tilgang til ssh og sudo ``` sudo adduser elogit-admin && usermod -aG ssh elogit-admin && usermod -aG sudo elogit-admin ``` - Fjern pålogging for root i sshd og endre standard ssh-port `[/etc/ssh/sshd_config]` ``` PermitRootLogin yes -> PermitRootLogin no #Port 22 -> Port 2247 ``` - Generer EdDSA-nøkkel for bruker xxx som brukes som pålogging istedet for passord - Windows: * Kjør "puttygen" som følger med i pakka til putty * Velg å lage "EdDSA"-nøkkel under "Type of key to generate" * Klikk "Generate" * Skriv inn god og relevant info i "Key comment" (som f.eks. ditt navn, og navnet på maskinen du skal bruke nøkkelen fra) * Velg "Save private key" og lagre fila på et smart sted på maskinen (fortrinnsvis %USER%/.ssh) * Velg "Save public key" og lagre i samme mappe * Kopier teksten under "Public key for pasting into OpenSSH authorized_keys file:" * Logg inn på server, og legg inn den kopierte teksten på en ny linje i `~/.ssh/authorized_keys` - Linux: `ssh-keygen -t ed25519 -f "$HOME/.ssh/[navn på nøkkel]" -C "[Key comment]"` `ssh-copy-id -i "$HOME/.ssh/[navn på nøkkel]" "[brukernavn]"@"[serveradresse]"` - Sett minimum passordlengde på 20 tegn og ikke mulighet å bruke brukernavn i passordtekst ``` sudo apt install libpam-pwquality sudo micro /etc/pam.d/common-password På linjen hvor det står "password requisite", legg til "minlen=20 reject_username" ``` - Aktiver brannmur og tillat kun følgende tjenester: ssh, http og https (husk riktig port på ssh hvis den ble endret istad) ``` sudo ufw allow http sudo ufw allow https sudo ufw allow ssh #sudo ufw allow 2247/tcp ``` - Sett opp daglige automatiske sikkerhetsoppdateringer ved hjelp av `unattended-upgrades`: ``` sudo apt install unattended-upgrades apt-listchanges sudo dpkg-reconfigure -plow unattended-upgrades ``` ## fail2ban fail2ban sperrer ute IPer basert på ondsinnet pålogging - Installere fail2ban `apt-get install fail2ban` - Legg inn regler for de forskjellige tjenestene: ### Nextcloud `[/etc/fail2ban/filter.d/nextcloud.conf]` ``` [Definition] _groupsre = (?:(?:,?\s*"\w+":(?:"[^"]+"|\w+))*) failregex = ^\{%(_groupsre)s,?\s*"remoteAddr":"<HOST>"%(_groupsre)s,?\s*"message":"Login failed: ^\{%(_groupsre)s,?\s*"remoteAddr":"<HOST>"%(_groupsre)s,?\s*"message":"Trusted domain error. datepattern = ,?\s*"time"\s*:\s*"%%Y-%%m-%%d[T ]%%H:%%M:%%S(%%z)?" ``` `[/etc/fail2ban/jail.d/nextcloud.local]` ``` [nextcloud] backend = auto enabled = true port = 80,443 protocol = tcpg filter = nextcloud maxretry = 3 bantime = 86400 findtime = 43200 logpath = /var/www/nextcloud/nextcloud.log ``` `[/etc/fail2ban/jail.d/sshd.local]` ``` [sshd] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 5 findtime = 300 bantime = 3600 ignoreip = 127.0.0.1 ``` ``` sudo systemctl restart fail2ban ``` --- # Referanser ## Best practice VPS https://docs.ovh.com/sg/en/vps/tips-for-securing-a-vps https://www.namecheap.com/blog/9-ways-to-keep-your-vps-secure/ https://securityonline.info/8-ways-to-keep-your-vps-high-secured/ https://n6host.com/blog/vps-security-9-ways-to-keep-your-vps-secure/ ## Brannmur https://linuxconfig.org/how-to-install-and-use-ufw-firewall-on-linux ## Passord https://www.xmodulo.com/set-password-policy-linux.html https://www.netwrix.com/password_best_practice.html
Save